]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
7 years agojs: Actorize animated objects
Florian Müllner [Thu, 25 Jul 2019 16:53:00 +0000 (18:53 +0200)]
js: Actorize animated objects

We have a couple of places where we don't tween the actor, but a
custom property on the delegate object. In order to move those
to Clutter animations, we will need an animatable, so turn those
objects into widget subclasses.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/666

7 years agowindowManager: Change effect's brightness property
Florian Müllner [Sun, 22 Jul 2018 01:31:54 +0000 (03:31 +0200)]
windowManager: Change effect's brightness property

The set_brightness() method is the most convenient way of controlling
the effect's brightness, but Clutter animations only deal with properties,
so start using the (ClutterColor) brightness property instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/666

7 years agowindowManager: Move animation into WindowDimmer
Florian Müllner [Sun, 22 Jul 2018 01:31:54 +0000 (03:31 +0200)]
windowManager: Move animation into WindowDimmer

Currently WindowDimmer exposes a JS property that is used to control the
underlying effect. This works fine with Tweener, but not with Clutter
animations which we want to use ultimately.

As a first step towards that, expose a setDimmed() method instead of
the property and handle the animation internally, so it can be adapted
more easily.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/666

7 years agojs: Use implicit animations for animatable properties
Florian Müllner [Fri, 20 Jul 2018 19:46:19 +0000 (21:46 +0200)]
js: Use implicit animations for animatable properties

We now have everything in place to replace Tweener for all animatable
properties with implicit animations, which has the following benefits:

 - they run entirely in C, while Tweener requires context switches
   to JS each frame

 - they are more reliable, as Tweener only detects when an animation
   is overwritten with another Tween, while Clutter considers any
   property change

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agoenvironment: Add convenience method for implicit animations
Florian Müllner [Sat, 10 Jun 2017 00:52:12 +0000 (02:52 +0200)]
environment: Add convenience method for implicit animations

Setting up implicit animations is more verbose than using tweener, in
particular when setting up a callbacks to run on overwrite or completion.
In order to make its use more convenient, monkey-patch ClutterActor
with an ease() method that works similarly to Tweener.addTween().

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agoenvironment: Support slow down factor when easing
Florian Müllner [Wed, 4 Jun 2014 22:13:14 +0000 (00:13 +0200)]
environment: Support slow down factor when easing

Being able to slow down animations is a helpful debugging tool; to not
lose it when starting to use Clutter's implicit animations, monkey-patch
the appropriate methods to support our global slow down factor.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agotweener: Use new adjustAnimationTime() helper
Florian Müllner [Thu, 25 Jul 2019 10:24:50 +0000 (12:24 +0200)]
tweener: Use new adjustAnimationTime() helper

Now that we have a new helper function for adjusting animation times,
make Tweener use it so that we keep the code in a single place.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agoenvironment: Add adjustAnimationTime() helper
Florian Müllner [Wed, 4 Jun 2014 22:13:14 +0000 (00:13 +0200)]
environment: Add adjustAnimationTime() helper

As we currently use Tweener for all animations, we have a single place
for hooking up the enable-animations and slow-down-factor settings.
However that will no longer hold true when we'll start to use Clutter's
built-in animation facilities, so add a small helper function that
applies the necessary adjustments.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agomessageTray: Stop tweening custom opacity property
Florian Müllner [Fri, 20 Jul 2018 19:46:19 +0000 (21:46 +0200)]
messageTray: Stop tweening custom opacity property

Notifications use a transition that overshoots the target value, however
we can only really do that for the position and not the opacity where
some values would end up out of the valid range.

We currently address this by proxying the actual opacity property in a
javascript property, and clamp it to the valid range in an onUpdate()
callback.

This won't be an option if we want to use Clutter animations, so instead,
use separate tweens for opacity and position.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agopageIndicators: Defer IN animation until redraw
Florian Müllner [Sun, 4 Aug 2019 23:02:38 +0000 (01:02 +0200)]
pageIndicators: Defer IN animation until redraw

Unlike Tweener, which doesn't know or care about actor state, Clutter
will skip implicit animations on actors that aren't mapped. This makes
sense of course, but it will break the page indicator animation we
do on map: When we get notified about the container being mapped, the
individual indicators (which are the actors being animated) are still
unmapped.

Resolve this by deferring the animation to a LaterFunc.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agoscreenShield: Stop using custom transition
Florian Müllner [Fri, 26 Jul 2019 00:38:49 +0000 (02:38 +0200)]
screenShield: Stop using custom transition

For animating the arrows on the screenshield, we currently use a custom
transition function that tweens the opacity from 0 to maxOpacity in the
first half of the animation, and from maxOpacity back to 0 in the second
half.

This doesn't easily translate to Clutter's own animation framework, so
replace the custom transition with two consecutive tweens which do.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agodash: Directly tween actors
Florian Müllner [Sat, 21 Jul 2018 05:08:33 +0000 (07:08 +0200)]
dash: Directly tween actors

Dash items are currently animated via the custom "childScale" and
"childOpacity" properties. However since commit efb3025d8cdb, those
properties actually control the scale-x/scale-y and opacity properties
of the actor itself (not the child), so cut out the intermediate
custom properties in favor of the "real" ones.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agoripple: Split animation
Florian Müllner [Sat, 10 Jun 2017 03:55:10 +0000 (05:55 +0200)]
ripple: Split animation

Similar to the previous patch, splitting the existing tween into two
will allow us to use implicit animations.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agopopupMenu: Split submenu expansion and arrow rotation
Florian Müllner [Sat, 10 Jun 2017 02:32:22 +0000 (04:32 +0200)]
popupMenu: Split submenu expansion and arrow rotation

When expanding a submenu, we currently use a single tween to animate
both the submenu actor and the source arrow. We do this by tweening
a monkey-patched JS property on the main actor, which we then use
to update the arrow's GObject property on updates. As Clutter cannot
animate random JS properties, this trick will prevent us from using
implicit animations here.

The only reason I can think of for using a single tween is to keep
both animations in perfect lock step, but as expansion and rotation
are visually quite distinct, this shouldn't be required, so just
set up separate animations for each actor.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/22

7 years agoshell-app: Consider desktop actions in can_open_new_window()
Florian Müllner [Tue, 6 Aug 2019 11:19:59 +0000 (13:19 +0200)]
shell-app: Consider desktop actions in can_open_new_window()

We currently only consider a remote "app.new-window" action when running,
but not a fixed "new-window" action in the .desktop file. The latter is
clearly useful as well, in particular as open_new_window() already does,
so add it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/665

7 years agomessageTray: Drop tween helper function
Florian Müllner [Fri, 20 Jul 2018 19:46:19 +0000 (21:46 +0200)]
messageTray: Drop tween helper function

It makes the code harder to follow and saves little in terms of code
duplication.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654

7 years agowindowManager: Small cleanup
Florian Müllner [Sun, 22 Jul 2018 01:31:54 +0000 (03:31 +0200)]
windowManager: Small cleanup

We start with a dim factor of 0, so the syncEnabled() call in the
constructor will always disable the effect. Just create the effect
disabled and save the method call.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654

7 years agobarLevel: Don't reset value on overview-start changes
Florian Müllner [Thu, 25 Jul 2019 15:59:01 +0000 (15:59 +0000)]
barLevel: Don't reset value on overview-start changes

While it makes sense to cap the current value to a new maximum value,
I can't think of a good reason why changing the overdrive-start should
reset the current value to that.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654

7 years agologinDialog: Use GObject bindings over onUpdate handler
Florian Müllner [Fri, 26 Jul 2019 01:13:59 +0000 (01:13 +0000)]
loginDialog: Use GObject bindings over onUpdate handler

Instead of iterating over all actors each frame and sync'ing their
opacities, we can set up bindings once before the animation.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654

7 years agopointerA11yTimeout: Use notify handler instead of onUpdate callback
Florian Müllner [Fri, 26 Jul 2019 00:28:40 +0000 (02:28 +0200)]
pointerA11yTimeout: Use notify handler instead of onUpdate callback

We either need to queue a repaint on opacity updates or we don't,
whether the opacity change happens in an animation or not shouldn't
matter.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654

7 years agopointerA11yTimeout: Fix style nit
Florian Müllner [Fri, 26 Jul 2019 00:25:32 +0000 (02:25 +0200)]
pointerA11yTimeout: Fix style nit

There's a stray space after the opening parentheses. While at it,
reindent the object literal.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654

7 years agoswitcherPopup: Avoid unnecessary animation
Florian Müllner [Sat, 21 Jul 2018 03:20:35 +0000 (05:20 +0200)]
switcherPopup: Avoid unnecessary animation

Ever since commit 28bb0c1fb2, the popup's actual visibility has been
controlled by its :opacity property, not :visible.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654

7 years agoappDisplay: Skip animation when hidden
Florian Müllner [Fri, 26 Jul 2019 01:04:38 +0000 (01:04 +0000)]
appDisplay: Skip animation when hidden

The time computation isn't just unnecessary in that case, it's likely
wrong as well: If we don't have a valid allocation, we may well end
up with a negative value, NaN or Infinity.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/654

7 years agoUpdate Indonesian translation
Kukuh Syafaat [Tue, 6 Aug 2019 10:49:56 +0000 (10:49 +0000)]
Update Indonesian translation

7 years agoallView: Redisplay on folder changes
Georges Basile Stavracas Neto [Tue, 2 Jul 2019 16:33:07 +0000 (13:33 -0300)]
allView: Redisplay on folder changes

Now that redisplaying is a lightweight operation that only
adds and removes what changed, we can not be concerned about
redisplaying on folder changes.

Redisplaying will be necessary when custom order in the app
grid is implemented, in order to update not only which icons
are hidden, but also their position.

Call _redisplay() in AllView when folders change.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645

7 years agobaseAppView: Remove unused BaseAppView.addItem
Georges Basile Stavracas Neto [Tue, 2 Jul 2019 13:12:08 +0000 (10:12 -0300)]
baseAppView: Remove unused BaseAppView.addItem

Now that BaseAppView does not allow for subclasses to add
and remove items directly, the addItem() method can be
removed.

Remove BaseAppView.addItem().

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645

7 years agoallView, folderView: Only add icons once
Georges Basile Stavracas Neto [Tue, 30 Jul 2019 15:15:51 +0000 (12:15 -0300)]
allView, folderView: Only add icons once

FolderView and AllView currently check if the item is
present in the BaseAppView._items map, in order to avoid
adding the same icon multiple times.

Now that BaseAppView._loadApps() has a different role --
it returns a list with all app icons, and BaseAppView
diffs with the current list of app icons -- checking the
BaseAppView._items map is wrong.

Make sure there are no duplicated items in the temporary
array returned by all _loadApps() implementations. Remove
the now unused BaseAppView.hasItem() method.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645

7 years agobaseAppView: Only add and remove when necessary
Georges Basile Stavracas Neto [Tue, 2 Jul 2019 02:13:07 +0000 (23:13 -0300)]
baseAppView: Only add and remove when necessary

BaseAppView currently removes all icons, and readds them, every
time the list of app icons needs to be redisplayed. In order to
allow animating app icon positions in the future, however, we
cannot destroy the actors of the app icons.

Previous commits paved the way for us to do differential loading,
i.e. add only the icons that were added, and remove only what was
removed.

Make the BaseAppView effectively implement differential loading.
The BaseAppView.removeAll() method is removed, since we do not
remove all icons anymore. BaseAppView._loadApps() now returns an
array with the new apps, instead of putting them directly at the
BaseAppView lists.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645

7 years agobaseAppView: Move _loadGrid() into _redisplay()
Georges Basile Stavracas Neto [Tue, 2 Jul 2019 02:01:59 +0000 (23:01 -0300)]
baseAppView: Move _loadGrid() into _redisplay()

Next commit will introduce differential loading of
app icons, and will reorganize this part of the
codebase.

When doing that, the ideal symmetry of the new code
would be:

 * Update BaseAppView._allItems array
 * Update BaseAppView._items map
 * Update BaseAppView._grid actor

Move the code in _loadGrid() into _redisplay() so that
we can check in-place which new icons need to be added.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645

7 years agobaseAppView: Call loadGrid() directly
Georges Basile Stavracas Neto [Sat, 29 Jun 2019 16:22:08 +0000 (13:22 -0300)]
baseAppView: Call loadGrid() directly

Now that the three views follow the exact same loading routine
(remove all + load apps + load grid), we don't need each view
call loadGrid() directly anymore.

This is an important step in order to animate adding and removing
icons, since now we can diff old and new app icons properly.

Move all calls to BaseAppView.loadGrid() to a single one after
BaseAppView._loadApps(). Also add the underscore prefix, since
this is now considered a protected function.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645

7 years agofrequentView: Use BaseAppView.addItem() and loadGrid()
Georges Basile Stavracas Neto [Sat, 29 Jun 2019 16:15:20 +0000 (13:15 -0300)]
frequentView: Use BaseAppView.addItem() and loadGrid()

FrequentView is another view that is slightly not unified with how
BaseAppView expects subclasses to load app icons. Instead of using
BaseAppView.addItem() and then calling BaseAppview.loadGrid(), it
adds the app icons directly to the icon grid.

Make FrequentView add icons using BaseAppview.addItem(), and load
the icons using BaseAppView.loadGrid().

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645

7 years agofolderIcon: Move app icon loading to FolderView
Georges Basile Stavracas Neto [Sat, 29 Jun 2019 15:58:26 +0000 (12:58 -0300)]
folderIcon: Move app icon loading to FolderView

Future patches will diff the old and new icons of views, in order to
animate them when necessary (e.g. adding an app icon to a folder, or
from a folder back to the app grid). In order to do that, all views
must be streamlined in how they load app icons.

Currently, FrequentView and AllView are already following the behavior
expected by BaseAppView, but FolderView isn't. Its icons are loaded by
FolderIcon, and FolderView doesn't implement BaseView._loadApps(),
which makes it impossible to diff old and new apps.

Move the app icon loading routine from FolderIcon to FolderView, by
implementing the _loadApps() method.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645

7 years agocleanup: Use milliseconds for animation times
Florian Müllner [Thu, 1 Aug 2019 23:13:10 +0000 (01:13 +0200)]
cleanup: Use milliseconds for animation times

The different units - seconds for Tweener and milliseconds for
timeouts - are not a big issue currently, as there is little
overlap. However this will change when we start using Clutter's
own animation framework (which uses milliseconds as well), in
particular where constants are shared between modules.

In order to prepare for the transition, define all animation times
as milliseconds and adjust them when passing them to Tweener.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/663

7 years agomeson: Avoid using relative paths to po directory
Benjamin Berg [Fri, 26 Apr 2019 10:33:58 +0000 (12:33 +0200)]
meson: Avoid using relative paths to po directory

Replace the relative path to the po directory with a toplevel definition
of po_dir and use that instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/507

7 years agodata: Update systemd units
Benjamin Berg [Fri, 19 Apr 2019 22:21:55 +0000 (00:21 +0200)]
data: Update systemd units

The existing units were never used as the corresponding support was
never merged into gnome-session.

This commits updates units to be usable with the newer gnome-session
unit definitions. Also added is appropriate failure/restart logic
including the ability to disable extensions. Note that extensions will
only be disabled if a failure happens in the first two minutes after
login.

https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/13
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/507

7 years agodata: Flag in desktop file that gnome-shell can be started using systemd
Benjamin Berg [Mon, 5 Aug 2019 19:46:05 +0000 (21:46 +0200)]
data: Flag in desktop file that gnome-shell can be started using systemd

As gnome-shell is a required component for GNOME sessions, gnome-session
will currently always try to autostart it. However as we are moving towards
using systemd's user instance for session startup, gnome-session should only
be responsible for launching the shell when either not running under systemd
or when we were built without systemd support.

gnome-session can detect the former but not the latter, so communicate this
via the newly added X-GNOME-HiddenUnderSystemd key in the .desktop file.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/507
https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/13

7 years agoUpdate Swedish translation
Anders Jonsson [Mon, 5 Aug 2019 20:41:06 +0000 (20:41 +0000)]
Update Swedish translation

7 years agoUpdate Romanian translation
Daniel Șerbănescu [Sun, 4 Aug 2019 13:09:14 +0000 (13:09 +0000)]
Update Romanian translation

7 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 2 Aug 2019 07:14:52 +0000 (09:14 +0200)]
Updated Spanish translation

7 years agoUpdate Karbi translation
Jor Teron [Fri, 2 Aug 2019 07:12:56 +0000 (07:12 +0000)]
Update Karbi translation

7 years agost: Move slow-down-factor into settings
Florian Müllner [Thu, 25 Jul 2019 10:50:26 +0000 (12:50 +0200)]
st: Move slow-down-factor into settings

Now that we have a Settings singleton, we have a better place for the
slow-down-factor than an awkward extern variable.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/656

7 years agost: Fix property type
Florian Müllner [Thu, 1 Aug 2019 10:43:48 +0000 (12:43 +0200)]
st: Fix property type

Commit 8f3554ff accidentally changed the type of the StWidget:track-hover
property from boolean to object.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1482

7 years agoweather: Fix property name
Florian Müllner [Wed, 31 Jul 2019 23:46:05 +0000 (01:46 +0200)]
weather: Fix property name

It's g-*name*-owner. As the condition covers the unlikely case where
Weather is running before gnome-shell, this slipped through.

7 years agoci: Make eslint wrapper script usable outside gitlab's CI
Marco Trevisan (Treviño) [Wed, 31 Jul 2019 14:54:26 +0000 (16:54 +0200)]
ci: Make eslint wrapper script usable outside gitlab's CI

The eslint wrapper script is useful for development as well, but it currently
fails on systems where bash is not installed in /usr/bin.

Make it useful there as well by changing the shebang to use /usr/bin/env

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/655

7 years agoweather: Stop accessing app settings directly
Florian Müllner [Tue, 23 Jul 2019 10:49:40 +0000 (10:49 +0000)]
weather: Stop accessing app settings directly

Our current Weather integration depends on poking around the app's
settings, which we cannot do when the app is sandboxed (as its
filesystem is "hidden away" in a container in that case).

So instead, use our own GSettings schema for the settings, and sync
it with GNOME Weather via a custom D-Bus interface.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1158

7 years agost: Use g_object_notify_by_pspec()
Niels De Graef [Mon, 29 Jul 2019 15:59:41 +0000 (17:59 +0200)]
st: Use g_object_notify_by_pspec()

`g_object_notify()` actually takes a global lock to look up the property
by its name, which means there is a performance hit (albeit tiny) every
time this function is called. For this reason, always try to use
`g_object_notify_by_pspec()` instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/652

7 years agolightbox: Remove previously added tweens from target
Marco Trevisan (Treviño) [Wed, 31 Jul 2019 12:54:56 +0000 (14:54 +0200)]
lightbox: Remove previously added tweens from target

Since commit 007d30573 we use an actor effect to apply the radial effect and
we pass the effect to the tweener in order to animate it.

However, we always still remove the previously added tween from the actor,
instead that from the actual target.

So, depending the radial effect state, remove the tweens from the proper target

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/653

7 years agoEnsure G_PARAM_STATIC_STRINGS for all properties
Niels De Graef [Thu, 25 Jul 2019 17:34:19 +0000 (19:34 +0200)]
Ensure G_PARAM_STATIC_STRINGS for all properties

In `st`, we can do this by using `ST_PARAM_*`. In the other code files,
just use `G_PARAM_STATIC_STRINGS` directly.

This is just a minor convenience to prevent a few unnecessary string
copies.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/646

7 years agost: Cleanup ST_PARAM_* and add WRITABLE version
Niels De Graef [Sat, 27 Jul 2019 08:21:12 +0000 (10:21 +0200)]
st: Cleanup ST_PARAM_* and add WRITABLE version

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/646

7 years agouserWidget: Handle non-square icons gracefully
Florian Müllner [Wed, 10 Jul 2019 15:18:16 +0000 (17:18 +0200)]
userWidget: Handle non-square icons gracefully

We currently assume that user icons are square, which is the case when
set by the users settings panel, but not enforced by AccountsService.

Handle that case by moving the pixel size back to the actor and using
an appropriate background-size style property of 'cover' (which means
the smallest dimension of the image is scaled to fit the desired size).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1144

7 years agoshell: Actually make GLSLEffect an effect
Florian Müllner [Fri, 26 Jul 2019 20:08:52 +0000 (22:08 +0200)]
shell: Actually make GLSLEffect an effect

A generic, introspectable Shader effect is not only more flexible
than a shader actor, it will also make it much easier to turn
Lightbox into an actor subclass and replace Tweener with Clutter's
own animation support.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/651

7 years agoshell: Properly rename type
Florian Müllner [Fri, 26 Jul 2019 19:09:29 +0000 (21:09 +0200)]
shell: Properly rename type

This is just a find-and-replace name change to make the actual code
changes in the follow-up commit more apparent.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/651

7 years agoshell: Rename GLSLQuad to GLSLEffect
Florian Müllner [Fri, 26 Jul 2019 19:00:06 +0000 (21:00 +0200)]
shell: Rename GLSLQuad to GLSLEffect

You can guess where this is going ...

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/651

7 years agolightbox: Remove unnecessary params
Florian Müllner [Fri, 26 Jul 2019 21:17:28 +0000 (23:17 +0200)]
lightbox: Remove unnecessary params

Actors have a default origin of (0, 0), so there's no need of
setting those explicitly.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/651

7 years agotheme: Fix focus style of icons in the calendar popup
Jonas Dreßler [Sun, 28 Jul 2019 07:53:14 +0000 (09:53 +0200)]
theme: Fix focus style of icons in the calendar popup

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1474

7 years agoshellDBus: Use floats instead of percentages for OSD levels
Jonas Dreßler [Sat, 27 Jul 2019 17:29:36 +0000 (19:29 +0200)]
shellDBus: Use floats instead of percentages for OSD levels

Due to typecasting being done when converting floats to integers in
gnome-settings-daemon, a volume of 0.9% in g-s-d will end up as 0% in
gnome-shell. This can lead to a mismatch of icons between the volume OSD
(the icon to use is determined by g-s-d itself) and the shells own
volume indicator (the icon to use is determined by the shell using the
volume received from g-s-d).

To fix this, simply get rid of the conversion from float to percentage
in g-s-d and back to floats in the shell and just send a float/double
value on DBus.

https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/78
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/385

7 years agoosdWindow: Remove LevelBar and use BarLevel directly
verdre [Sat, 2 Feb 2019 16:58:47 +0000 (17:58 +0100)]
osdWindow: Remove LevelBar and use BarLevel directly

LevelBar is not really used, all the checks are implemented inside
BarLevel as well and the accessible name is wrong because the osdWindow
doesn't only show the volume, but also the brightness and other things.

The workaround for updating the bars width is also no longer needed now
that we have BarLevel.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/385

7 years agoosdWindow: Use float values as input for osdWindow
verdre [Sat, 2 Feb 2019 16:50:04 +0000 (17:50 +0100)]
osdWindow: Use float values as input for osdWindow

Using the same type/interval as BarLevel means we can cut out the intermediate
LevelBar class in a follow-up cleanup.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/385

7 years agobarLevel: Return when trying to set value to already used value
verdre [Sat, 2 Feb 2019 17:01:56 +0000 (18:01 +0100)]
barLevel: Return when trying to set value to already used value

There are some cases (for example when tweening value changes), where
the level will be set to the same value it already is at. Avoid those
unnecessary repaints by checking whether the value is already used and
returning if it is.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/385

7 years agobarLevel: Use setters instead of methods
Florian Müllner [Thu, 25 Jul 2019 15:33:00 +0000 (17:33 +0200)]
barLevel: Use setters instead of methods

Switching to getters/setters make the code suitable for using
with Tweener and as GObject properties, both of which we'll
do soon enough.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/385

7 years agovolume: Remove unused method
verdre [Sat, 2 Feb 2019 17:55:11 +0000 (18:55 +0100)]
volume: Remove unused method

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/385

7 years agoUpdate Friulian translation
Fabio Tomat [Sun, 28 Jul 2019 07:37:16 +0000 (07:37 +0000)]
Update Friulian translation

7 years agoUpdate Catalan translation
Jordi Mas [Sat, 27 Jul 2019 22:49:20 +0000 (00:49 +0200)]
Update Catalan translation

7 years agoUpdate Indonesian translation
Kukuh Syafaat [Fri, 26 Jul 2019 11:24:57 +0000 (11:24 +0000)]
Update Indonesian translation

7 years agoci: Remove path limitation of js60 check
Florian Müllner [Thu, 25 Jul 2019 20:33:18 +0000 (22:33 +0200)]
ci: Remove path limitation of js60 check

The check is supposed to run for all merge requests that touch javascript
files, but for some reason I see it's skipped quite often. Better have
the test run unnecessarily some times than let bugs through, so remove
the limitation.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/647

7 years agoci: Fix identifying commits in MR
Florian Müllner [Thu, 25 Jul 2019 20:26:19 +0000 (22:26 +0200)]
ci: Fix identifying commits in MR

When a MR uses a private namespace, "origin" refers to that, and its
master branch may be outdated with regard to upstream master.

We are really only interested in checking the line changes from the commits
in the MR, so figure out the correct branch point instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/647

7 years agodocs: Fix interface prefix for D-Bus docs
Bastien Nocera [Thu, 25 Jul 2019 12:40:11 +0000 (14:40 +0200)]
docs: Fix interface prefix for D-Bus docs

The --interface-prefix= gtk-doc argument was being passed a stringified
array instead of a simple string.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/644

7 years agoUpdate Basque translation
Asier Sarasua Garmendia [Thu, 25 Jul 2019 06:43:46 +0000 (06:43 +0000)]
Update Basque translation

7 years agoappDisplay: Trivial code style improvement
Georges Basile Stavracas Neto [Sat, 29 Jun 2019 02:46:16 +0000 (23:46 -0300)]
appDisplay: Trivial code style improvement

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/643

7 years agobaseIcon: Align labels to the center
Georges Basile Stavracas Neto [Wed, 3 Jul 2019 16:27:21 +0000 (13:27 -0300)]
baseIcon: Align labels to the center

Ensure icon labels are aligned to the center, both
vertically and horizontally. This will be required
for using BaseIcons as drag actors.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/643

7 years agoappIcon: End running drag operations on destroy
Georges Basile Stavracas Neto [Sat, 29 Jun 2019 04:32:40 +0000 (01:32 -0300)]
appIcon: End running drag operations on destroy

AppIcon makes itself draggable, and handles the various DnD
routines such as 'drag-begin' and 'drag-end' by making the
Overview emit the appropriate signals.

However, when destroyed, the AppIcon does not try to finish
any drag operations that started. That causes the event
blocker in AllView not to be updated correctly when dragging
icons to outside folders.

Make AppIcon emit 'item-drag-end' when a drag operation
started and it's destroyed.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/643

7 years agoUpdate Karbi translation
Jor Teron [Wed, 24 Jul 2019 18:42:40 +0000 (18:42 +0000)]
Update Karbi translation

7 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 24 Jul 2019 07:51:21 +0000 (09:51 +0200)]
Updated Spanish translation

7 years agoUpdate Karbi translation
Jor Teron [Wed, 24 Jul 2019 03:11:21 +0000 (03:11 +0000)]
Update Karbi translation

7 years agoci: Add eslint job to review stage
Florian Müllner [Sun, 30 Jun 2019 11:05:04 +0000 (13:05 +0200)]
ci: Add eslint job to review stage

We have now reduced the number of eslint errors enough to add it to
the CI pipeline. There are still plenty of errors left though, so we
cannot simply run eslint and fail on any errors. So instead, run it
through a fancy script that:

 - generates an eslint report using the "regular" configuration
 - generates an eslint report using the "legacy" configuration
 - creates a combined report with errors common to both configurations

When the pipeline is running for a branch or tag, the final report is
printed out and the job succeeds (we know there are errors left);
when the pipelne is running for a merge request, we fail if any errors
are reported for the lines modified/added by the MR.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agoci: Merge 'source_check' stage into 'review'
Florian Müllner [Tue, 23 Jul 2019 22:29:15 +0000 (00:29 +0200)]
ci: Merge 'source_check' stage into 'review'

GNOME apps use 'review' for the CI stage that generates and exports a
flatpak bundle after a successful build, so they need some other name
for anything that is checked before building; that's how we ended up
with the somewhat awkward 'source_check' stage (inherited from Polari).

But since the commit log check added a 'review' stage that runs pre-build,
use that for all checks that are performed before the build stage.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agoci: Include git in extension-ci image
Florian Müllner [Thu, 4 Jul 2019 15:35:48 +0000 (17:35 +0200)]
ci: Include git in extension-ci image

It's useful for anything that does not want to limit itself to the
checked out branch, like comparing source and target branch.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agoperf: Shut up another eslint error
Florian Müllner [Sat, 29 Jun 2019 13:14:37 +0000 (15:14 +0200)]
perf: Shut up another eslint error

The functions here are asynchronous to handle control back to the
mainloop while waiting for an action to complete, not to run operations
in parallel. That is, the race condition the rule is protecting against
isn't an issue here, so disable the error.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agoperf: Shut up an eslint error
Florian Müllner [Mon, 4 Feb 2019 12:14:09 +0000 (13:14 +0100)]
perf: Shut up an eslint error

The while(true) loop is intentional here and not a bug, so disable
the corresponding eslint rule.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agostyle: Disable camelcase rule for GObject properties
Florian Müllner [Fri, 1 Feb 2019 00:16:20 +0000 (01:16 +0100)]
style: Disable camelcase rule for GObject properties

For GObject properties, we follow the convention of all-lowercase,
dash-separated names. Those translate to underscores in getters/setters,
so exempt them from the newly added "camelcase" rule.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agocleanup: Mark globals used from other modules as exported
Florian Müllner [Thu, 31 Jan 2019 14:07:06 +0000 (15:07 +0100)]
cleanup: Mark globals used from other modules as exported

eslint cannot figure out that those symbols are used from other modules
via imports, so they trigger unused-variable errors. To fix, explicitly
mark those symbols as exported.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agocleanup: Mark unused (but useful) variables as ignored
Florian Müllner [Thu, 31 Jan 2019 14:08:00 +0000 (15:08 +0100)]
cleanup: Mark unused (but useful) variables as ignored

While we aren't using those destructured variables, they are still useful
to document the meaning of those elements. We don't want eslint to keep
warning about them though, so mark them accordingly.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agocleanup: Remove some unhelpful unused variables in destructuring
Florian Müllner [Fri, 1 Feb 2019 13:41:55 +0000 (14:41 +0100)]
cleanup: Remove some unhelpful unused variables in destructuring

We aren't using them, and they don't add much in terms of clarity,
so drop them to fix a couple of eslint errors.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agocleanup: Mark unused arguments as unused
Florian Müllner [Thu, 31 Jan 2019 14:08:10 +0000 (15:08 +0100)]
cleanup: Mark unused arguments as unused

This will stop eslint from warning about them, while keeping their
self-documenting benefit.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agocleanup: Remove some unhelpful unused arguments
Florian Müllner [Mon, 4 Feb 2019 11:30:53 +0000 (12:30 +0100)]
cleanup: Remove some unhelpful unused arguments

Those unused arguments aren't bugs - unbeknownst to eslint, they all
correspond to valid signal parameters - but they don't contribute
anything to clarity, so just remove them anyway.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agolint: Allow marking variables/arguments as unused
Florian Müllner [Mon, 28 Jan 2019 00:37:12 +0000 (01:37 +0100)]
lint: Allow marking variables/arguments as unused

Unused variables or arguments can indicate bugs, but they can also
help document the code, in particular in case of signal handlers
and destructuring.

Account for this by keeping the error, but set up patterns that allow
us to opt out of if for individual variables/arguments. For arguments
we pick a '_' prefix, while for variables we go with a suffix instead,
to not accidentally exempt private module-scope variables.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/627

7 years agobuild: Automatically bump mutter API version each cycle
Florian Müllner [Tue, 23 Jul 2019 20:34:58 +0000 (22:34 +0200)]
build: Automatically bump mutter API version each cycle

Mutter will now bump the API version automatically at the
beginning of a new development cycle; do the same here.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/641

7 years agoUpdate Esperanto translation
Kristjan SCHMIDT [Tue, 23 Jul 2019 19:08:49 +0000 (19:08 +0000)]
Update Esperanto translation

7 years agopanel: Remove unused constant
Florian Müllner [Tue, 23 Jul 2019 17:59:53 +0000 (19:59 +0200)]
panel: Remove unused constant

This was left-over in commit 2743f18af, and probably is the real reason
why the busy spinner wasn't using the shared AnimatedIcon.Spinner class:
The animation there was much slower.

Still, let's keep the code as-is for now, if we really need a different
animation time, we can add an optional constructor parameter to the
Spinner class.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/640

7 years agoappDisplay: Indent with spaces rather than tabs
Florian Müllner [Tue, 23 Jul 2019 17:58:05 +0000 (19:58 +0200)]
appDisplay: Indent with spaces rather than tabs

Another style nit that sneaked in with commit eaa32090b9.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/640

7 years agoappDisplay: Add missing semicolon
Florian Müllner [Tue, 23 Jul 2019 17:42:16 +0000 (19:42 +0200)]
appDisplay: Add missing semicolon

This slipped through in commit eaa320 ...

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/640

7 years agoappDisplay: Keep popup open on refresh
Ray Strode [Thu, 18 Jul 2019 15:13:27 +0000 (11:13 -0400)]
appDisplay: Keep popup open on refresh

If the list of applications is refreshed we currently close
the open app folder.

This commit adds logic to reopen the app folder on reload.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

7 years agoappDisplay: Add open method to FolderIcon
Ray Strode [Thu, 18 Jul 2019 14:19:13 +0000 (10:19 -0400)]
appDisplay: Add open method to FolderIcon

At the moment the only way to open a folder icon is to click on it;
there's no API to open the icon programmatically.

This commits adds an open method and makes the click handler use
it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

7 years agoappDisplay: Stop watching FolderIcon parent view when destroyed
Ray Strode [Thu, 18 Jul 2019 18:49:30 +0000 (14:49 -0400)]
appDisplay: Stop watching FolderIcon parent view when destroyed

When a FolderIcon is opened, it asks the parent view to allocate
space for it, which takes time.  Eventually, the space-ready
signal is emitted on the view and the icon can make use of the new
space with its popup.  If the icon gets destroyed in the
interim, though, space-ready signal handler still fires.

This commit disconnects the signal handler so it doesn't get called
on a destroyed icon.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

7 years agoappDisplay: Add destroy handler for FolderIcon
Ray Strode [Mon, 22 Jul 2019 14:57:57 +0000 (10:57 -0400)]
appDisplay: Add destroy handler for FolderIcon

It is important that the FolderView of a FolderIcon always
gets destroyed before the AppFolderPopup, since the view
may or may not be in the popup, and the view should
get cleaned up exactly once in either case.

This commit adds a destroy handler on FolderIcon to ensure
things get taken down in the right order, and to make sure
the view isn't leaked if it's not yet part of the popup.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

7 years agoappDisplay: Clear AllView reference to current popup when destroyed
Ray Strode [Thu, 18 Jul 2019 14:06:38 +0000 (10:06 -0400)]
appDisplay: Clear AllView reference to current popup when destroyed

AllView contains a reference to the current popup that lingers after
the popup is destroyed.

This commit fixes that, by explicitly nullifying when appropriate.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

7 years agoappDisplay: Add AppFolderPopup destroy handler
Ray Strode [Mon, 22 Jul 2019 15:02:10 +0000 (11:02 -0400)]
appDisplay: Add AppFolderPopup destroy handler

At the moment AppFolderPopup calls popdown on destruction,
which leads to open-state-changed getting emitted after
the actor associated with the popup is destroyed.

This commit handles ungrabbing and closing from an
actor destroy handler to side-step the open-state-changed
signal.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

7 years agoiconGrid: Clear meta_later callback on destruction
Ray Strode [Mon, 22 Jul 2019 15:06:30 +0000 (11:06 -0400)]
iconGrid: Clear meta_later callback on destruction

The IconGrid code sometimes sets up a callback to be invoked
later right before being destroyed.

This commit adds a destroy handler to cancel the callback.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

7 years agoappDisplay: Don't leak duplicate items in AppView
Ray Strode [Mon, 15 Jul 2019 17:52:58 +0000 (13:52 -0400)]
appDisplay: Don't leak duplicate items in AppView

If an icon already exists in an app view with the same id, the
duplicate is not added on a call to addItem.  Unfortunately,
since it's not added, the icon actor gets orphaned and leaked.

This commit address the problem by introducing a new hasItem
method and disallowing callers to call addItem with a duplicate
in the first place.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628

7 years agoiconGrid: Add missing import for GLib
Daniel van Vugt [Tue, 23 Jul 2019 06:14:50 +0000 (14:14 +0800)]
iconGrid: Add missing import for GLib

To silence warnings:

JS ERROR: ReferenceError: GLib is not defined
_updateIconSizes@resource:///org/gnome/shell/ui/iconGrid.js:771:9

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1462